/**
*
* Copyright
* 2009-2015 Jayway Products AB
* 2016-2017 Föreningen Sambruk
*
* Licensed under AGPL, Version 3.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.gnu.org/licenses/agpl.txt
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.streamsource.streamflow.statistic.web;
import org.apache.commons.dbcp.BasicDataSource;
import javax.sql.DataSource;
import java.util.prefs.Preferences;
/**
* Data access object
*/
public class Dao
{
private static String dbVendor;
private static BasicDataSource ds;
private static boolean bDataSourceInitialized=false;
private static void initializeDataSource()
{
Preferences preference = Preferences.userRoot().node( "/streamsource/streamflow/StreamflowServer/streamflowds/properties" );
String dbUrl = preference.get( "url", "n/a" );
String dbUser = preference.get( "username", "n/a" );
String dbPwd = preference.get( "password", "n/a" );
String dbDriver = preference.get( "driver", "n/a" );
dbVendor = preference.get( "dbVendor", "mysql" );
ds = new BasicDataSource();
ds.setDriverClassName( dbDriver );
ds.setUrl( dbUrl );
ds.setUsername( dbUser );
ds.setPassword( dbPwd );
bDataSourceInitialized=true;
}
public static void closeDataSource() throws Exception
{
ds.close();
}
public static DataSource getDataSource()
{
if (bDataSourceInitialized==false)
{
initializeDataSource();
}
return(ds);
}
public static String getDbVendor()
{
if( bDataSourceInitialized == false )
{
initializeDataSource();
}
return dbVendor;
}
}